package com.ee.chat.admin.controller.materialmanage;

import com.ee.chat.admin.service.IGiftService;
import com.ee.chat.common.bean.Result;
import com.ee.chat.common.entity.GiftConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author AppiJ
 * @date 2019年10月30日 19:28
 */
@RestController
@RequestMapping("gift")
public class GiftController {

    private Logger log = LoggerFactory.getLogger(GiftController.class);

    @Resource
    IGiftService giftService;

    /**
     * 礼物列表
     * @author AppiJ
     * @date 2019年10月31日 10:05:42
     * @param name 礼物名称
     * @param status 状态
     * @return
     */
    @RequestMapping("list")
    public Result list(HttpServletRequest request, String name, Integer status,
                       @RequestParam Integer page, @RequestParam Integer limit){
        try {
            return giftService.list(request, name, status, page, limit);
        } catch (Exception e){
            log.error("【查询礼物列表错误】", e);
        }
        return Result.returnFailure();
    }

    /**
     * 添加/编辑礼物
     * @author AppiJ
     * @date 2019年11月01日 10:56:42
     * @param giftConfig
     * @return
     */
    @RequestMapping("add")
    public Result add(HttpServletRequest request, GiftConfig giftConfig){
        try {
            return giftService.add(request, giftConfig);
        } catch (Exception e){
            log.error("【添加礼物错误】", e);
        }
        return Result.returnFailure();
    }

    /**
     * 去编辑礼物
     * @author AppiJ
     * @date 2019年11月07日 16:42:28
     * @param id  礼物id
     * @return
     */
    @RequestMapping("toEdit")
    public Result toEdit(HttpServletRequest request, @RequestParam(required = false) Integer id){
        try {
            return giftService.toEdit(request, id);
        } catch(Exception e){
            log.error("【去编辑礼物错误】", e);
        }
        return Result.returnFailure();
    }

    /**
     * 上架/下架礼物
     * @author AppiJ
     * @date 2019年11月08日 18:31:11
     * @param ids     id列表
     * @param status  状态
     * @return
     */
    @RequestMapping("updateStatus")
    public Result updateStatus(HttpServletRequest request, @RequestParam("ids[]") List<Integer> ids, @RequestParam Integer status){
        try {
            return giftService.updateStatus(request, ids, status);
        } catch (Exception e){
            log.error("【上架/下架礼物错误】", e);
        }
        return Result.returnFailure();
    }
}
